Support for Understanding in Software Maintenance

نویسنده

  • Eirik Tryggeseth
چکیده

Software systems are increasingly becoming more and more complex. The functions they are supposed to support are increasing both in number and in complexity. Because of this, the size of software systems of today is constantly increasing. Traditional software maintenance processes have often resulted in a degradation of the structure, documentation, and source code of the maintained software system. Additional problems of maintainer turnover and recruitment of experienced maintainers have made long term maintenance a problem for maintenance organizations. The software system is becoming difficult to understand, particularly for new maintainers, and hence maintenance costs are increasing. The increased size and complexity of software systems signifies large cost of system redevelopment due to uncontrolled maintenance costs. Thus, organizations which produce software systems must focus on how to efficiently evolve their current systems to be able to stay competitive. In this thesis, we analyse the costs and problems of software maintenance, and discuss why software systems evolve. We present a framework for how the evolution of software can be controlled, and how system knowledge can be efficiently reused during the maintenance process. The focus of the framework is to provide the user with easy access to system information from heterogeneous information sources, so that the time spent on trying to understand the system is reduced. Literature reports that as much as 50% of the time spent on maintenance can be related to trying to understand the system. The provision of efficient mechanisms to reduce this time will benefit in reduced maintenance costs. The proposed framework consists of two major parts: (i) A language capable of specifying the logical architectural structure of the system as well as how this logical system structure is related to physical files on the disk. (ii) The specification of a set of relations among heterogeneous system components, and how the interesting relationships can be extracted dynamically from the different system components by using an advanced querying mechanism. These two parts are used in conjunction to be able to efficiently provide recorded system knowledge to the maintainer in a manner which make our proposed framework scalable to handle very large systems without significant reduction in response time. The maintenance tasks of an organization are often related to maintaining a family similar software systems rather than one individual system. This system family may for example represent a core system customized for different customers. The language which specifies the logical structure is capable of describing the evolution of the software family and a mechanism for selecting a particular system configuration for maintenance. This facilitates a top-down exploration of the system which supports the maintainer in understanding the overall system structure. The querying mechanism allows the user to extract related information from heterogeneous system components. These include the requirements, design, user manual, and test documents, and source code to be able to gain functional knowledge of particular parts of the system which must be thoroughly understood, e.g. to be able to comply with the requirements of a modification request. These relationships are extracted dynamically by requests from the maintainer. Relationships among source code components are however extracted once per file version and recorded in a database. Parts of the framework have been demonstrated by prototypes. The overall utility of the proposed framework cannot be validated by demonstration. This would require a fully integrated system used in a real setting, which is beyond the scope of this doctoral work. The utility of documentation for providing more knowledge to the maintainer has however been demonstrated experimentally with significant results in an experiment performed as part of my work.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Development of system decision support tools for behavioral trends monitoring of machinery maintenance in a competitive environment

The article is centred on software system development for manufacturing company that produces polyethylene bags using mostly conventional machines in a competitive world where each business enterprise desires to stand tall. This is meant to assist in gaining market shares, taking maintenance and production decisions by the dynamism and flexibilities embedded in the package as customers’ demand ...

متن کامل

RFID-based decision support within maintenance management of urban tunnel systems

Efficiently, tracking information related to components, materials and equipment from the production/construction phase to operation and maintenance is a challenge in the industries. The industry environment is a natural fit for generating and utilizing instance-level data for decision support. Advanced electronic identification and data storage technologies e.g. radio frequency identification ...

متن کامل

RFID-based decision support within maintenance management of urban tunnel systems

Efficiently, tracking information related to components, materials and equipment from the production/construction phase to operation and maintenance is a challenge in the industries. The industry environment is a natural fit for generating and utilizing instance-level data for decision support. Advanced electronic identification and data storage technologies e.g. radio frequency identification ...

متن کامل

A documentation paradigm for an integrated software maintenance support environment

""' Recent a.dvances in computer hard ware have not been matched by comparable advances iu computer software. inhibiting the production of reliable software at greater levels of productivity. Development of software is restricted by the so-called ·mainteuauce backlog·. Productivity in the maintenance sector has not. kept pare with increasiug annual labour costs. making the maintenance of softwa...

متن کامل

A meta-model of information systems to support reverse engineering

Maintenance of large information systems typically suffers from a failure to fully understanding both the software and the broader context in which it operates. In particular, effective maintenance requires knowledge of not only the source code, but also user documentation, system design and knowledge of the business goals and objectives the system aims to support. The Esprit DOCKET project see...

متن کامل

Developing maintainable software: The Readable approach

Software maintenance is expensive and difficult because software is complex and maintenance requires the understanding of code written by someone else. A prerequisite to maintainability is program understanding, specifically, understanding the control flows between software components. This is especially problematic for emerging software technologies, such as the World Wide Web, because of the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997